.\"	$OpenBSD: rx.4,v 1.17 2014/11/15 14:41:02 bentley Exp $
.\"	$NetBSD: rx.4,v 1.3 1996/03/03 17:14:03 thorpej Exp $
.\"
.\" Copyright (c) 1983, 1991 Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     from: @(#)rx.4	6.2 (Berkeley) 3/27/91
.\"
.Dd $Mdocdate: November 15 2014 $
.Dt RX 4 vax
.Os
.Sh NAME
.Nm rx
.Nd
.Tn DEC
.Tn RX02
floppy disk interface
.Sh SYNOPSIS
.Cd "rx* at mscpbus? drive?"
.Sh DESCRIPTION
The
.Nm rx
device provides access to a
.Tn DEC
.Tn RX02
floppy disk
unit with M8256 interface module
.Pf ( Tn RX211
configuration).
The
.Tn RX02
uses 8-inch, single-sided, soft-sectored floppy
disks (with pre-formatted industry-standard headers) in
either single or double density.
.Pp
Floppy disks handled by the
.Tn RX02
contain 77 tracks, each with 26
sectors (for a total of 2,002 sectors).
The sector size is 128 bytes for single density, 256 bytes for double density.
Single density disks are compatible with the
.Tn RX01
floppy disk unit and with
.Tn IBM
3740 Series Diskette 1 systems.
.Pp
In addition to normal (`block' and `raw')
.Tn I/O ,
the driver supports
formatting of disks for either density and
the ability to invoke a 2 for 1 interleaved sector mapping
compatible with the
.Tn DEC
operating system
.Tn RT-11 .
.Pp
The minor device number is interpreted as follows:
.Bl -column "Other" "Description" -offset indent
.It Sy Bit Ta Sy Description
.It 0 Ta "Sector interleaving (1 disables interleaving)"
.It 1 Ta "Logical sector 1 is on track 1 (0 no, 1 yes)"
.It 2 Ta "Not used, reserved"
.It Other Ta "Drive number"
.El
.Pp
The two drives in a single
.Tn RX02
unit are treated as
two disks attached to a single controller.
Thus, if there are two
.Tn RX02 Ns 's
on a system, the drives on the first
.Tn RX02
are
.Dq Li rx0
and
.Dq Li rx1 ,
while the drives on the second are
.Dq Li rx2
and
.Dq Li rx3 .
.Pp
When the device is opened, the density of the disk
currently in the drive is automatically determined.
If there is no floppy in the device, open will fail.
.Pp
Even though the storage capacity on a floppy disk is quite
small, it is possible to make filesystems on
double density disks.
For example, the following command
makes a file system on the double density disk in rx0 with
436 kbytes available for file storage:
.Bd -literal -offset indent
# newfs /dev/rrx0c -s 1001 -b 4096 -f 512 -c 32 -m 0
.Ed
.Pp
Using
.Xr tar 1
gives a more efficient utilization of the available
space for file storage.
Single density diskettes do not provide sufficient storage capacity to
hold file systems.
.Sh FILES
.Bl -tag -width /dev/rx?xx -compact
.It Pa /dev/rx?
.It Pa /dev/rrx?[a-d]
.El
.Sh DIAGNOSTICS
.Bl -diag
.It "rx0: hard error, trk N psec N cs=..., db=..., err=X, X, X, X."
An unrecoverable error was encountered.
The track and physical sector numbers, the device registers and the
extended error status are displayed.
.It rx0: state N (reset).
The driver entered a bogus state.
This should not happen.
.El
.Sh ERRORS
The following errors may be returned by the driver:
.Bl -tag -width [ENODEV]
.It Bq Er ENODEV
Drive not ready; usually because no disk is in the drive or
the drive door is open.
.It Bq Er ENXIO
Nonexistent drive (on open);
offset is too large or not on a sector boundary or
byte count is not a multiple of the sector size (on read or write);
or bad (undefined) ioctl code.
.It Bq Er EIO
A physical error other than
.Dq not ready ,
probably bad media or unknown format.
.It Bq Er EBUSY
Drive has been opened for exclusive access.
.It Bq Er EBADF
No write access (on format), or wrong density; the latter
can only happen if the disk is changed without
.Em closing
the device
(i.e., calling
.Xr close 2 ) .
.El
.Sh SEE ALSO
.Xr intro 4 ,
.Xr mscpbus 4 ,
.Xr newfs 8
.Sh HISTORY
The
.Nm
driver appeared in
.Bx 4.2 .
.Sh BUGS
A floppy may not be formatted if the
header info on sector 1, track 0 has been damaged.
Hence, it is not possible to format completely degaussed disks or disks with
other formats than the two known by the hardware.
.Pp
If the drive subsystem is powered down when the machine is booted, the
controller won't interrupt.
